package com.itheima.homework.assignment.Test03;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.Scanner;

/**
 * 模拟注册用户,如果存在要注册的用户,直接显示"对不起,您注册的用户已经存在!请直接登录!",可以继续注册;
 *  如果不存在要注册的用户,显示"注册成功!",并将所有用户的信息显示出来!
 */
public class Test {
    public static void main(String[] args) {
        //创建一个ArrayList集合，将用户信息存入
        ArrayList<User> users = new ArrayList<>();
        users.add(new User("小明", "123"));
        users.add(new User("小红", "456"));
        users.add(new User("小勇", "789"));

        Scanner sc = new Scanner(System.in);

        while (true) {
            System.out.println("请输入您要注册的用户名：");
            String inputName = sc.next();

            //判断该用户名是否存在
            boolean b = isUser(users, inputName);
            if (b) { //存在
                System.out.println("该用户已存在～");
            }else { //不存在
                System.out.println("请输入您的密码：");
                String password = sc.next();

                //创建一个User对象，将添加的用户信息存入users集合中
                User user = new User(inputName, password);
                users.add(user);
                System.out.println("恭喜您，注册成功～");

                System.out.println("======================");

                //遍历输出用户信息
//                users.forEach(System.out::println);
                showUsser(users);

                //运行结束
                break;
            }
        }
    }

    //通过迭代器，遍历用户信息
    public static void showUsser(ArrayList<User> users) {
        Iterator<User> iterator = users.iterator();
        while (iterator.hasNext()) {
            User user = iterator.next();
            System.out.println(user.getName() + "\t" + user.getPassword());
        }
    }

    //判断集合中存不存在该用户名
    public static boolean isUser(ArrayList<User> users, String name) {
        boolean flag = false;
        for (int i = 0; i < users.size(); i++) {
            if (users.get(i).getName().equals(name)) {
                flag = true;
                break;
            }
        }
        return flag;
    }
}
